With advances in modern circuitry and the need to decrease the research and design phases of circuit construction, it has become both necessary and desirable to model circuit design prior to actual construction. A model allows a developer to model the characteristics of the circuit, as well as evaluate if it will meet the desired design requirements. Additionally, a modeled circuit may be rapidly reconfigured and various embodiments may be tested before a single piece of hardware is actually constructed.
A model may be constructed using numerous pieces of currently available software, including MATLAB®, Simulink®, and Stateflow® from The MathWorks, Inc. of Natick, Mass. Upon creation of a model, and evaluation of the model, it is desirable to generate a system implementation in a format readily exported for use in the actual hardware fabrication. For example, the desired system implementation can be in a hardware description language such as VHDL, Verilog or SystemC.
The process of translating a system model into a system implementation is computationally intensive, and ordinarily performed in many steps. To facilitate this process, an intermediate representation is used. The intermediate representation allows for the change in levels of abstraction from a source language to a target language and corresponding system implementation. Traditional intermediate representations use either a serial processing arrangement or a parallel processing arrangement. Serial processing is used for systems exhibiting sequential semantics. One such example of a system with sequential semantics is software running on a microcontroller.
In contrast to serial processing, parallel processing may be used when working with systems with parallel semantics such as combinational electronic circuits. Systems which accurately model a proposed design, however, are oftentimes best represented by both serial and parallel representations. Due to the inherent differences in the processing requirements of serial and parallel systems, existing technology uses distinct intermediate representations for each, wherein each system is processed independently. Independent processing using distinct intermediate representations requires extensive use of system resources, is time consuming, and requires the processing of the serial representations of a system using a first intermediate representation, and the parallel representations of a system using a second intermediate representation. Furthermore, an inherent fundamental limitation exists when processing information using distinct intermediate representations. That is during processing of information in one intermediate representation, access to remaining pieces of information in the other intermediate representation is precluded. In light of this, optimization of processed data is detrimentally affected.
The foregoing discusses modeling and fabrication of electronic systems comprised of electronic hardware and software, but similar considerations apply to the modeling and fabrication of mechanical systems, biological systems, and other systems as understood by one skilled in the art.